<?php
/**
 * 文件名简单介绍
 * 
 * IT618
 * @author  作者
 * @version  版本号
 * @date  2019-04-28
 */
namespace app\erp\designpattern\wechat;

/**
 * it618 实现类
 * 
 * 类的详细介绍（可选）
 * @author  作者
 * @version  版本号
 * @date  2020-02-02
 */
class It618 implements WechatInterface {

	/**
     * 判断用户是否绑定微信
     * @param int $uid 用户id
     * @return 
     */
    public function isBindWechatByUid($uid);

    /**
     * 判断 某用户 是否绑定用户
     * @param int $unionid 
     * @return ['code' => , 'message']
     */
    public function isBindUidByUnionid($unionid);

    /**
     * 添加绑定
     * @param int $uid 用户id
     * @param string $open_id 
     * @param string $unionid
     * @param string $access_token 
     * @param string $wxusername 
     * @return ['code' => , 'message']
     */
    public function addBindWechat($uid, $open_id, $unionid, $access_token, $wxusername);

    /**
     * 更新绑定
     * @param int $uid 用户id
     * @param string $open_id 
     * @param string $unionid
     * @param string $access_token 
     * @param string $wxusername 
     * @return ['code' => , 'message']
     */
    public function updateBindWechatByUid($uid, $open_id, $unionid, $access_token, $wxusername);

    /**
     * 根据uid 查询信息
     * @param int $uid 用户id
     * @return ['code' => , 'message', 'data' => ['uid', 'openid', 'unionid', 'access_token', 'wxusername'] ]
     */
    public function getDataByUid($uid);

    /**
     * 根据 unionid 查询信息
     * @param int $unionid 
     * @return ['code' => , 'message', 'data' => ['uid', 'openid', 'unionid', 'access_token', 'wxusername'] ]
     */
    public function getDataByUnionid($unionid);

}